package cn.edu.zsc.rbac.view;

import cn.edu.zsc.rbac.util.SingletonFactory;

import java.util.Scanner;

public class MainView {

    public static final String MENU = """
            --------------
                RBAC系统
            --------------
            |  0  退出系统 |
            |  1  部门管理 |
            |  2  角色管理 |
            |  3  用户管理 |
            --------------
            请输入选项：""";

    public static Scanner input;

    static {
        input = new Scanner(System.in);
    }

    private final DeptView deptView;
    private final RoleView roleView;
    private final UserView userView;


    private MainView() {
        deptView = SingletonFactory.getInstance(DeptView.class);
        roleView = SingletonFactory.getInstance(RoleView.class);
        userView = SingletonFactory.getInstance(UserView.class);
    }



    public void show() {
        String menuChoice;

        do {
            System.out.print(MENU);
            menuChoice = input.nextLine();
            switch (menuChoice) {
                case "0" -> System.out.println("成功退出系统，欢迎再次使用！");
                case "1" -> deptView.show();

                //TODO：显示部门管理界面
                case "2" -> {
                    roleView.show();
                    //TODO：显示角色管理界面
                }
                case "3" -> {
                    userView.show();
                    //TODO：显示用户管理界面
                }
                default -> System.out.println("输入非法！请输入正确的菜单编号！");
            }


        } while (!"0".equals(menuChoice));
        input.close();
    }


}
